# Boring GNU/Linux

Goal: provide a cross-compilable system which is enough to

- Use the machine (without GUI) both locally and remotely, i.e.
  * Boot the machine
  * Configure networking
  * provide network login via ssh

- Build C and C++ software
  * Native toolchain (GCC + binutils), C and C++ compilers
  * make
  * meson
  * ninja
  * autotools

- Build ALT RPMs via rpmbuild (with --nodeps)
  * debugedit
  * elfutils
  * gnu-config
  * gnulib
  * patched texinfo
  * subst 


## Cross-bootstraping

### Required host tools

- bash
- coreutils 
- cpio
- findutils
- gcc
- gcc-c++
- git (to clone/update the repository)
- make
- perl-base
- perl-Unicode-Normalize
- python (>= 3.9)
- rsync
- matching cross-toolchain (gcc-loongarch64-linux-gnu)

### Optional host tools

- ccache
- distcc


### Running the cross-build

```
git clone git://git.altlinux.org/people/asheplyakov/public/coresystem.git
cd coresystem
python3 buildall.py
```

This produces 
- bootable disk image `blinux-TARGET.img` 
- rootfs archive `blinux-rootfs-TARGET.tgz`

